/* 
 * math.h
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is a part of the clang port package.
 * No warranty is given; refer to the file DISCLAIMER within the package.
 *
 * Mathematical functions.
 *
 */


#ifndef _CLANG_PORT_MATH_H_
#define _CLANG_PORT_MATH_H_

/* All the headers include this file. */
#ifndef __IMPL_CLANG_PORT_API_
#	include <_clang_port.h>
#else
#	include <include/_clang_port.h>
#endif

#ifndef __IMPL_CLANG_PORT_API_
/*
 * Types for the _exception structure.
 */

#define	_DOMAIN		1	/* domain error in argument */
#define	_SING		2	/* singularity */
#define	_OVERFLOW	3	/* range overflow */
#define	_UNDERFLOW	4	/* range underflow */
#define	_TLOSS		5	/* total loss of precision */
#define	_PLOSS		6	/* partial loss of precision */

#endif /* __IMPL_CLANG_PORT_API_ */

#ifdef __cplusplus
extern "C" {
#endif

#ifndef __IMPL_CLANG_PORT_API_
CLANG_PORT_INLINE double       acos(double d)
{
	return CLANG_BUILTIN_CALL(acos)(d);
}
CLANG_PORT_INLINE float        acosf(float d)
{
	return CLANG_BUILTIN_CALL(acosf)(d);
}
CLANG_PORT_INLINE double       ceil(double d)
{
	return CLANG_BUILTIN_CALL(ceil)(d);
}
CLANG_PORT_INLINE float        ceilf(float d)
{
	return CLANG_BUILTIN_CALL(ceilf)(d);
}
CLANG_PORT_INLINE long double  ceill(long double d)
{
	return CLANG_BUILTIN_CALL(ceill)(d);
}
CLANG_PORT_INLINE double       copysign(double c, double d)
{
	return CLANG_BUILTIN_CALL(copysign)(c,d);
}
CLANG_PORT_INLINE float        copysignf(float c, float d)
{
	return CLANG_BUILTIN_CALL(copysignf)(c,d);
}
CLANG_PORT_INLINE long double  copysignl(long double c, long double d)
{
	return CLANG_BUILTIN_CALL(copysignl)(c,d);
}
CLANG_PORT_INLINE double       cos(double d)
{
	return CLANG_BUILTIN_CALL(cos)(d);
}
CLANG_PORT_INLINE float        cosf(float d)
{
	return CLANG_BUILTIN_CALL(cosf)(d);
}
CLANG_PORT_INLINE double       cosh(double d)
{
	return CLANG_BUILTIN_CALL(cosh)(d);
}
CLANG_PORT_INLINE float        coshf(float d)
{
	return CLANG_BUILTIN_CALL(coshf)(d);
}
CLANG_PORT_INLINE long double  coshl(long double d)
{
	return CLANG_BUILTIN_CALL(coshl)(d);
}
CLANG_PORT_INLINE long double  cosl(long double d)
{
	return CLANG_BUILTIN_CALL(cosl)(d);
}

CLANG_PORT_INLINE double       sin(double d)
{
	return CLANG_BUILTIN_CALL(sin)(d);
}
CLANG_PORT_INLINE float        sinf(float d)
{
	return CLANG_BUILTIN_CALL(sinf)(d);
}
CLANG_PORT_INLINE double       sinh(double d)
{
	return CLANG_BUILTIN_CALL(sinh)(d);
}
CLANG_PORT_INLINE float        sinhf(float d)
{
	return CLANG_BUILTIN_CALL(sinhf)(d);
}
CLANG_PORT_INLINE long double  sinhl(long double d)
{
	return CLANG_BUILTIN_CALL(sinhl)(d);
}
CLANG_PORT_INLINE long double  sinl(long double d)
{
	return CLANG_BUILTIN_CALL(sinl)(d);
}
CLANG_PORT_INLINE double       sqrt(double d)
{
	return CLANG_BUILTIN_CALL(sqrt)(d);
}
CLANG_PORT_INLINE float        sqrtf(float d)
{
	return CLANG_BUILTIN_CALL(sqrtf)(d);
}
CLANG_PORT_INLINE long double  sqrtl(long double d)
{
	return CLANG_BUILTIN_CALL(sqrtl)(d);
}
CLANG_PORT_INLINE double       tan(double d)
{
	return CLANG_BUILTIN_CALL(tan)(d);
}
CLANG_PORT_INLINE float        tanf(float d)
{
	return CLANG_BUILTIN_CALL(tanf)(d);
}
CLANG_PORT_INLINE double       tanh(double d)
{
	return CLANG_BUILTIN_CALL(tanh)(d);
}
CLANG_PORT_INLINE float        tanhf(float d)
{
	return CLANG_BUILTIN_CALL(tanhf)(d);
}
CLANG_PORT_INLINE long double  tanhl(long double d)
{
	return CLANG_BUILTIN_CALL(tanhl)(d);
}
CLANG_PORT_INLINE long double  tanl(long double d)
{
	return CLANG_BUILTIN_CALL(tanl)(d);
}
#endif /* __IMPL_CLANG_PORT_API_ */

/*
 CLANG_PORT_INLINE long double  cbrtl(long double d)
 {
	return CLANG_BUILTIN_CALL(cbrtl)(d);
 }
CLANG_PORT_INLINE double       acosh(double d)
{
	return CLANG_BUILTIN_CALL(acosh)(d);
}
CLANG_PORT_INLINE float        acoshf(float d)
{
	return CLANG_BUILTIN_CALL(acoshf)(d);
}
CLANG_PORT_INLINE long double  acoshl(long double d)
{
	return CLANG_BUILTIN_CALL(acoshl)(d);
}
CLANG_PORT_INLINE long double  acosl(long double d)
{
	return CLANG_BUILTIN_CALL(acosl)(d);
}
CLANG_PORT_INLINE double       asin(double d)
{
	return CLANG_BUILTIN_CALL(asin)(d);
}
CLANG_PORT_INLINE float        asinf(float d)
{
	return CLANG_BUILTIN_CALL(asinf)(d);
}
CLANG_PORT_INLINE double       asinh(double d)
{
	return CLANG_BUILTIN_CALL(asinh)(d);
}
CLANG_PORT_INLINE float        asinhf(float d)
{
	return CLANG_BUILTIN_CALL(asinhf)(d);
}
CLANG_PORT_INLINE long double  asinhl(long double d)
{
	return CLANG_BUILTIN_CALL(asinhl)(d);
}
CLANG_PORT_INLINE long double  asinl(long double d)
{
	return CLANG_BUILTIN_CALL(asinl)(d);
}
CLANG_PORT_INLINE double       atan(double d)
{
	return CLANG_BUILTIN_CALL(atan)(d);
}
CLANG_PORT_INLINE double       atan2(double c, double d)
{
	return CLANG_BUILTIN_CALL(atan2)(c,d);
}
CLANG_PORT_INLINE float        atan2f(float c, float d)
{
	return CLANG_BUILTIN_CALL(atan2f)(c,d);
}
CLANG_PORT_INLINE long double  atan2l(long double c, long double d)
{
	return CLANG_BUILTIN_CALL(atan2l)(c,d);
}
CLANG_PORT_INLINE float        atanf(float d)
{
	return CLANG_BUILTIN_CALL(atanf)(d);
}
CLANG_PORT_INLINE double       atanh(double d)
{
	return CLANG_BUILTIN_CALL(atanh)(d);
}
CLANG_PORT_INLINE float        atanhf(float d)
{
	return CLANG_BUILTIN_CALL(atanhf)(d);
}
CLANG_PORT_INLINE long double  atanhl(long double d)
{
	return CLANG_BUILTIN_CALL(atanhl)(d);
}
CLANG_PORT_INLINE long double  atanl(long double d)
{
	return CLANG_BUILTIN_CALL(atanl)(d);
}
CLANG_PORT_INLINE double       cbrt(double d)
{
	return CLANG_BUILTIN_CALL(cbrt)(d);
}
CLANG_PORT_INLINE float        cbrtf(float d)
{
	return CLANG_BUILTIN_CALL(cbrtf)(d);
}
*/

/*
CLANG_PORT_INLINE double       erf(double d)
{
	return CLANG_BUILTIN_CALL(erf)(d);
}
CLANG_PORT_INLINE double       erfc(double d)
{
	return CLANG_BUILTIN_CALL(erfc)(d);
}
CLANG_PORT_INLINE float        erfcf(float d)
{
	return CLANG_BUILTIN_CALL(erfcf)(d);
}
CLANG_PORT_INLINE long double  erfcl(long double d)
{
	return CLANG_BUILTIN_CALL(erfcl)(d);
}
CLANG_PORT_INLINE float        erff(float d)
{
	return CLANG_BUILTIN_CALL(erff)(d);
}
CLANG_PORT_INLINE long double  erfl(long double d)
{
	return CLANG_BUILTIN_CALL(erfl)(d);
}
CLANG_PORT_INLINE double       exp(double d)
{
	return CLANG_BUILTIN_CALL(exp)(d);
}
CLANG_PORT_INLINE double       exp2(double d)
{
	return CLANG_BUILTIN_CALL(exp2)(d);
}
CLANG_PORT_INLINE float        exp2f(float d)
{
	return CLANG_BUILTIN_CALL(exp2f)(d);
}
CLANG_PORT_INLINE long double  exp2l(long double d)
{
	return CLANG_BUILTIN_CALL(exp2l)(d);
}
CLANG_PORT_INLINE float        expf(float d)
{
	return CLANG_BUILTIN_CALL(expf)(d);
}
CLANG_PORT_INLINE long double  expl(long double d)
{
	return CLANG_BUILTIN_CALL(expl)(d);
}
CLANG_PORT_INLINE double       expm1(double d)
{
	return CLANG_BUILTIN_CALL(expm1)(d);
}
CLANG_PORT_INLINE float        expm1f(float d)
{
	return CLANG_BUILTIN_CALL(expm1f)(d);
}
CLANG_PORT_INLINE long double  expm1l(long double d)
{
	return CLANG_BUILTIN_CALL(expm1l)(d);
}
CLANG_PORT_INLINE double       fabs(double d)
{
	return CLANG_BUILTIN_CALL(fabs)(d);
}
CLANG_PORT_INLINE float        fabsf(float d)
{
	return CLANG_BUILTIN_CALL(fabsf)(d);
}
CLANG_PORT_INLINE long double  fabsl(long double d)
{
	return CLANG_BUILTIN_CALL(fabsl)(d);
}
CLANG_PORT_INLINE double       fdim(double c, double d)
{
	return CLANG_BUILTIN_CALL(fdim)(c,d);
}
CLANG_PORT_INLINE float        fdimf(float c, float d)
{
	return CLANG_BUILTIN_CALL(fdimf)(c,d);
}
CLANG_PORT_INLINE long double  fdiml(long double c, long double d)
{
	return CLANG_BUILTIN_CALL(fdiml)(c,d);
}
CLANG_PORT_INLINE double       floor(double d)
{
	return CLANG_BUILTIN_CALL(floor)(d);
}
CLANG_PORT_INLINE float        floorf(float d)
{
	return CLANG_BUILTIN_CALL(floorf)(d);
}
CLANG_PORT_INLINE long double  floorl(long double d)
{
	return CLANG_BUILTIN_CALL(floorl)(d);
}
CLANG_PORT_INLINE double       fma(double b, double c, double d)
{
	return CLANG_BUILTIN_CALL(fma)(b,c,d);
}
CLANG_PORT_INLINE float        fmaf(float b, float c, float d)
{
	return CLANG_BUILTIN_CALL(fmaf)(b,c,d);
}
CLANG_PORT_INLINE long double  fmal(long double b, long double c, long double d)
{
	return CLANG_BUILTIN_CALL(fmal)(b,c,d);
}
CLANG_PORT_INLINE double       fmax(double c, double d)
{
	return CLANG_BUILTIN_CALL(fmax)(c,d);
}
CLANG_PORT_INLINE float        fmaxf(float c, float d)
{
	return CLANG_BUILTIN_CALL(fmaxf)(c,d);
}
CLANG_PORT_INLINE long double  fmaxl(long double c, long double d)
{
	return CLANG_BUILTIN_CALL(fmaxl)(c,d);
}
CLANG_PORT_INLINE double       fmin(double c, double d)
{
	return CLANG_BUILTIN_CALL(fmin)(c,d);
}
CLANG_PORT_INLINE float        fminf(float c, float d)
{
	return CLANG_BUILTIN_CALL(fminf)(c,d);
}
CLANG_PORT_INLINE long double  fminl(long double c, long double d)
{
	return CLANG_BUILTIN_CALL(fminl)(c,d);
}
CLANG_PORT_INLINE double       fmod(double c, double d)
{
	return CLANG_BUILTIN_CALL(fmod)(c,d);
}
CLANG_PORT_INLINE float        fmodf(float c, float d)
{
	return CLANG_BUILTIN_CALL(fmodf)(c,d);
}
CLANG_PORT_INLINE long double  fmodl(long double c, long double d)
{
	return CLANG_BUILTIN_CALL(fmodl)(c,d);
}
CLANG_PORT_INLINE double       frexp(double d, int * exp)
{
	return CLANG_BUILTIN_CALL(frexp)(d,exp);
}
CLANG_PORT_INLINE float        frexpf(float d, int * exp)
{
	return CLANG_BUILTIN_CALL(frexpf)(d,exp);
}
CLANG_PORT_INLINE long double  frexpl(long double d, int * exp)
{
	return CLANG_BUILTIN_CALL(frexpl)(d,exp);
}
CLANG_PORT_INLINE double       hypot(double c, double d)
{
	return CLANG_BUILTIN_CALL(hypot)(c,d);
}
CLANG_PORT_INLINE float        hypotf(float c, float d)
{
	return CLANG_BUILTIN_CALL(hypotf)(c,d);
}
CLANG_PORT_INLINE long double  hypotl(long double c, long double d)
{
	return CLANG_BUILTIN_CALL(hypotl)(c,d);
}
CLANG_PORT_INLINE int          ilogb(double d)
{
	return CLANG_BUILTIN_CALL(ilogb)(d);
}
CLANG_PORT_INLINE int          ilogbf(float d)
{
	return CLANG_BUILTIN_CALL(ilogbf)(d);
}
CLANG_PORT_INLINE int          ilogbl(long double d)
{
	return CLANG_BUILTIN_CALL(ilogbl)(d);
}
CLANG_PORT_INLINE double       j0(double d)
{
	return CLANG_BUILTIN_CALL(j0)(d);
}
CLANG_PORT_INLINE double       j1(double d)
{
	return CLANG_BUILTIN_CALL(j1)(d);
}
CLANG_PORT_INLINE double       jn(int c, double d)
{
	return CLANG_BUILTIN_CALL(jn)(c,d);
}
CLANG_PORT_INLINE double       ldexp(double d, int exp)
{
	return CLANG_BUILTIN_CALL(ldexp)(d,exp);
}
CLANG_PORT_INLINE float        ldexpf(float d, int exp)
{
	return CLANG_BUILTIN_CALL(ldexpf)(d,exp);
}
CLANG_PORT_INLINE long double  ldexpl(long double d, int exp)
{
	return CLANG_BUILTIN_CALL(ldexpl)(d,exp);
}
CLANG_PORT_INLINE double       lgamma(double d)
{
	return CLANG_BUILTIN_CALL(lgamma)(d);
}
CLANG_PORT_INLINE float        lgammaf(float d)
{
	return CLANG_BUILTIN_CALL(lgammaf)(d);
}
CLANG_PORT_INLINE long double  lgammal(long double d)
{
	return CLANG_BUILTIN_CALL(lgammal)(d);
}
CLANG_PORT_INLINE long long    llrint(double d)
{
	return CLANG_BUILTIN_CALL(llrint)(d);
}
CLANG_PORT_INLINE long long    llrintf(float d)
{
	return CLANG_BUILTIN_CALL(llrintf)(d);
}
CLANG_PORT_INLINE long long    llrintl(long double d)
{
	return CLANG_BUILTIN_CALL(llrintl)(d);
}
CLANG_PORT_INLINE long long    llround(double d)
{
	return CLANG_BUILTIN_CALL(llround)(d);
}
CLANG_PORT_INLINE long long    llroundf(float d)
{
	return CLANG_BUILTIN_CALL(llroundf)(d);
}
CLANG_PORT_INLINE long long    llroundl(long double d)
{
	return CLANG_BUILTIN_CALL(llroundl)(d);
}
CLANG_PORT_INLINE double       log(double d)
{
	return CLANG_BUILTIN_CALL(log)(d);
}
CLANG_PORT_INLINE double       log10(double d)
{
	return CLANG_BUILTIN_CALL(log10)(d);
}
CLANG_PORT_INLINE float        log10f(float d)
{
	return CLANG_BUILTIN_CALL(log10f)(d);
}
CLANG_PORT_INLINE long double  log10l(long double d)
{
	return CLANG_BUILTIN_CALL(log10l)(d);
}
CLANG_PORT_INLINE double       log1p(double d)
{
	return CLANG_BUILTIN_CALL(log1p)(d);
}
CLANG_PORT_INLINE float        log1pf(float d)
{
	return CLANG_BUILTIN_CALL(log1pf)(d);
}
CLANG_PORT_INLINE long double  log1pl(long double d)
{
	return CLANG_BUILTIN_CALL(log1pl)(d);
}
CLANG_PORT_INLINE double       log2(double d)
{
	return CLANG_BUILTIN_CALL(log2)(d);
}
CLANG_PORT_INLINE float        log2f(float d)
{
	return CLANG_BUILTIN_CALL(log2f)(d);
}
CLANG_PORT_INLINE long double  log2l(long double d)
{
	return CLANG_BUILTIN_CALL(log2l)(d);
}
CLANG_PORT_INLINE double       logb(double d)
{
	return CLANG_BUILTIN_CALL(logb)(d);
}
CLANG_PORT_INLINE float        logbf(float d)
{
	return CLANG_BUILTIN_CALL(logbf)(d);
}
CLANG_PORT_INLINE long double  logbl(long double d)
{
	return CLANG_BUILTIN_CALL(logbl)(d);
}
CLANG_PORT_INLINE float        logf(float d)
{
	return CLANG_BUILTIN_CALL(logf)(d);
}
CLANG_PORT_INLINE long double  logl(long double d)
{
	return CLANG_BUILTIN_CALL(logl)(d);
}
CLANG_PORT_INLINE int          lrint(double d)
{
	return CLANG_BUILTIN_CALL(lrint)(d);
}
CLANG_PORT_INLINE int          lrintf(float d)
{
	return CLANG_BUILTIN_CALL(lrintf)(d);
}
CLANG_PORT_INLINE int          lrintl(long double d)
{
	return CLANG_BUILTIN_CALL(lrintl)(d);
}
CLANG_PORT_INLINE int          lround(double d)
{
	return CLANG_BUILTIN_CALL(lround)(d);
}
CLANG_PORT_INLINE int          lroundf(float d)
{
	return CLANG_BUILTIN_CALL(lroundf)(d);
}
CLANG_PORT_INLINE int          lroundl(long double d)
{
	return CLANG_BUILTIN_CALL(lroundl)(d);
}
CLANG_PORT_INLINE double       modf(double d, double *exp)
{
	return CLANG_BUILTIN_CALL(modf)(d,exp);
}
CLANG_PORT_INLINE float        modff(float d, float *exp)
{
	return CLANG_BUILTIN_CALL(modff)(d,exp);
}
CLANG_PORT_INLINE long double  modfl(long double d, long double *exp)
{
	return CLANG_BUILTIN_CALL(modfl)(d,exp);
}
CLANG_PORT_INLINE double       nan(const char *d)
{
	return CLANG_BUILTIN_CALL(nan)(d);
}
CLANG_PORT_INLINE float        nanf(const char *d)
{
	return CLANG_BUILTIN_CALL(nanf)(d);
}
CLANG_PORT_INLINE long double  nanl(const char *d)
{
	return CLANG_BUILTIN_CALL(nanl)(d);
}
CLANG_PORT_INLINE double       nearbyint(double d)
{
	return CLANG_BUILTIN_CALL(nearbyint)(d);
}
CLANG_PORT_INLINE float        nearbyintf(float d)
{
	return CLANG_BUILTIN_CALL(nearbyintf)(d);
}
CLANG_PORT_INLINE long double  nearbyintl(long double d)
{
	return CLANG_BUILTIN_CALL(nearbyintl)(d);
}
CLANG_PORT_INLINE double       nextafter(double c, double d)
{
	return CLANG_BUILTIN_CALL(nextafter)(c,d);
}
CLANG_PORT_INLINE float        nextafterf(float c, float d)
{
	return CLANG_BUILTIN_CALL(nextafterf)(c,d);
}
CLANG_PORT_INLINE long double  nextafterl(long double c, long double d)
{
	return CLANG_BUILTIN_CALL(nextafterl)(c,d);
}
CLANG_PORT_INLINE double       nexttoward(double c, long double d)
{
	return CLANG_BUILTIN_CALL(nexttoward)(c,d);
}
CLANG_PORT_INLINE float        nexttowardf(float c, long double d)
{
	return CLANG_BUILTIN_CALL(nexttowardf)(c,d);
}
CLANG_PORT_INLINE long double  nexttowardl(long double c, long double d)
{
	return CLANG_BUILTIN_CALL(nexttowardl)(c,d);
}
CLANG_PORT_INLINE double       pow(double c, double d)
{
	return CLANG_BUILTIN_CALL(pow)(c,d);
}
CLANG_PORT_INLINE float        powf(float c, float d)
{
	return CLANG_BUILTIN_CALL(powf)(c,d);
}
CLANG_PORT_INLINE long double  powl(long double c, long double d)
{
	return CLANG_BUILTIN_CALL(powl)(c,d);
}
CLANG_PORT_INLINE double       remainder(double c, double d)
{
	return CLANG_BUILTIN_CALL(remainder)(c,d);
}
CLANG_PORT_INLINE float        remainderf(float c, float d)
{
	return CLANG_BUILTIN_CALL(remainderf)(c,d);
}
CLANG_PORT_INLINE long double  remainderl(long double c, long double d)
{
	return CLANG_BUILTIN_CALL(remainderl)(c,d);
}
CLANG_PORT_INLINE double       remquo(double c, double d, int *exp)
{
	return CLANG_BUILTIN_CALL(remquo)(c,d,exp);
}
CLANG_PORT_INLINE float        remquof(float c, float d, int *exp)
{
	return CLANG_BUILTIN_CALL(remquof)(c,d,exp);
}
CLANG_PORT_INLINE long double  remquol(long double c, long double d, int *exp)
{
	return CLANG_BUILTIN_CALL(remquol)(c,d,exp);
}
CLANG_PORT_INLINE double       rint(double d)
{
	return CLANG_BUILTIN_CALL(rint)(d);
}
CLANG_PORT_INLINE float        rintf(float d)
{
	return CLANG_BUILTIN_CALL(rintf)(d);
}
CLANG_PORT_INLINE long double  rintl(long double d)
{
	return CLANG_BUILTIN_CALL(rintl)(d);
}
CLANG_PORT_INLINE double       round(double d)
{
	return CLANG_BUILTIN_CALL(round)(d);
}
CLANG_PORT_INLINE float        roundf(float d)
{
	return CLANG_BUILTIN_CALL(roundf)(d);
}
CLANG_PORT_INLINE long double  roundl(long double d)
{
	return CLANG_BUILTIN_CALL(roundl)(d);
}
CLANG_PORT_INLINE double       scalbln(double c, long d)
{
	return CLANG_BUILTIN_CALL(scalbln)(c,d);
}
CLANG_PORT_INLINE float        scalblnf(float c, long d)
{
	return CLANG_BUILTIN_CALL(scalblnf)(c,d);
}
CLANG_PORT_INLINE long double  scalblnl(long double c, long d)
{
	return CLANG_BUILTIN_CALL(scalblnl)(c,d);
}
CLANG_PORT_INLINE double       scalbn(double c, int d)
{
	return CLANG_BUILTIN_CALL(scalbn)(c,d);
}
CLANG_PORT_INLINE float        scalbnf(float c, int d)
{
	return CLANG_BUILTIN_CALL(scalbnf)(c,d);
}
CLANG_PORT_INLINE long double  scalbnl(long double c, int d)
{
	return CLANG_BUILTIN_CALL(scalbnl)(c,d);
}
*/



/*

CLANG_PORT_INLINE double       tgamma(double d)
{
	return CLANG_BUILTIN_CALL(tgamma)(d);
}
CLANG_PORT_INLINE float        tgammaf(float d)
{
	return CLANG_BUILTIN_CALL(tgammaf)(d);
}
CLANG_PORT_INLINE long double  tgammal(long double d)
{
	return CLANG_BUILTIN_CALL(tgammal)(d);
}
CLANG_PORT_INLINE double       trunc(double d)
{
	return CLANG_BUILTIN_CALL(trunc)(d);
}
CLANG_PORT_INLINE float        truncf(float d)
{
	return CLANG_BUILTIN_CALL(truncf)(d);
}
CLANG_PORT_INLINE long double  truncl(long double d)
{
	return CLANG_BUILTIN_CALL(truncl)(d);
}
CLANG_PORT_INLINE double       y0(double d)
{
	return CLANG_BUILTIN_CALL(y0)(d);
}
CLANG_PORT_INLINE double       y1(double d)
{
	return CLANG_BUILTIN_CALL(y1)(d);
}
CLANG_PORT_INLINE double       yn(int c, double d)
{
	return CLANG_BUILTIN_CALL(yn)(c,d);
}

*/

#ifdef __cplusplus
}
#endif


#endif	/* Not _CLANG_PORT_MATH_H_ */
